package com.hanhan.chargingpile.stations.pojo.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
 * <p>
 * 充电桩
 * </p>
 *
 * @author HanHan
 * @since 2023-03-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ChargingPile对象", description="充电桩")
public class ChargingPileVO implements Serializable {

    private static final long serialVersionUID = 1L;

      @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "充电站id")
    private Long chargingStationsId;

    @ApiModelProperty(value = "编号")
    private String serialNumber;

    @ApiModelProperty(value = "车位号")
    private String parkingLotNo;

    @ApiModelProperty(value = "充电桩型号")
    private String chargingPileSpec;

    @ApiModelProperty(value = "功率 单位 KW")
    private BigDecimal rateOfWork;

    @ApiModelProperty(value = "1:直流 2:交流")
    private Integer acDc;

    @ApiModelProperty(value = "有枪状态0:无枪 1：有枪")
    private Integer hasAGunStatus;

    @ApiModelProperty(value = "充电枪数量")
    private Integer gunNum;

    @ApiModelProperty(value = "开放开始时间")
    private LocalTime openStartTime;

    @ApiModelProperty(value = "开放结束时间")
    private LocalTime openEndTime;

    @ApiModelProperty(value = "价格单位元度")
    private BigDecimal price;

    @ApiModelProperty(value = "服务费 价格单位元度")
    private BigDecimal serviceCharge;

    @ApiModelProperty(value = "0:未删除 1:删除")
    @TableField("is_deleted")
    @TableLogic
    private Boolean deleted;

    @ApiModelProperty(value = "0未使用 1：正在使用")
    private Boolean useStatus;

    @ApiModelProperty(value = "0未离线 1：离线")
    private Boolean offLineIs;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "充电站名称")
    private String stationName;

}
